package
{
	import flash.events.EventDispatcher;
	import flash.events.MouseEvent;
	import mx.rpc.events.ResultEvent;
	import mx.controls.Button;

//	/** * 监听器添加函数添加参数 */   
//	
//	public static function create(f:Function,... arg):Function {  
//		
//		var F:Boolean=false;  
//		
//		var _f:Function=function(e:*,..._arg):void{  
//			
//			_arg=arg if(!F){  
//				
//				F=true _arg.unshift(e)  
//				
//			}   
//			
//			f.apply(null,_arg)  
//			
//		};   
//		
//		return _f; }   
//	
//}   
	public class MultiParamtersOnEventListener
	{
		public function anonymousFunction():void
		{
			var button:Button=new Button();
			button.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void
				{
					onClickMultiParamters(e.target, e);
				});

		}

		public function onClickMultiParamters(object:Object, e:MouseEvent):void
		{

		}

		public function responseHandlerInEventBus():void

		{
			//see also CommandRegistry.invokeMultiArgRequestHandler
			var responseObject:Object=null;
			var responseHanlder:String="responseHanlder";

			var eventDispatcher:EventDispatcher=new EventDispatcher();
			eventDispatcher.addEventListener("eventName", function(e:ResultEvent):void
				{
					responseObject[responseHanlder](e.result, e);
				});
		}


	}
}